package com.zhonghui.scm.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;

/**
 * 供应链SCM-销售管理-销售合同对象 scm_sale_contract
 *
 * @author zhonghui
 * @date 2022-05-20
 */
@ApiModel("销售管理-销售合同对象")
public class ScmSaleContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private Long id;

    /** 合同编码 */
    @Excel(name = "合同编码")
    @ApiModelProperty("合同编码")
    private String contractNumber;

    /** 订单id */
    @ApiModelProperty("订单id")
    private Long orderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNo;

    /** 客户id */
    @Excel(name = "客户id")
    @ApiModelProperty("客户id")
    private Long customId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty("客户名称")
    private String customName;

    /** 业务员id */
    @Excel(name = "业务员id")
    @ApiModelProperty("业务员id")
    private Long salesManId;

    /** 业务员 */
    @Excel(name = "业务员")
    @ApiModelProperty("业务员")
    private String salesMan;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty("联系人")
    private String linkman;

    /** 联系方式 */
    @Excel(name = "联系方式")
    @ApiModelProperty("联系方式")
    private String linkmanPhoneNumber;

    /** 金额合计 */
    @Excel(name = "金额合计")
    @ApiModelProperty("金额合计")
    private Long totalAmount;

    /** 交货日期 */
    @Excel(name = "交货日期")
    @ApiModelProperty("交货日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 送货方式 */
    @Excel(name = "送货方式")
    @ApiModelProperty("送货方式")
    private Integer shipping;

    /** 收货地址 */
    @Excel(name = "收货地址")
    @ApiModelProperty("收货地址")
    private String address;

    /** 签订日期 */
    @Excel(name = "签订日期")
    @ApiModelProperty("签订日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date signingDate;

    /** 申请人id */
    @Excel(name = "申请人id")
    @ApiModelProperty("申请人id")
    private Long applyId;

    /** 申请人 */
    @Excel(name = "申请人")
    @ApiModelProperty("申请人")
    private String applyName;

    /** 申请时间 */
    @Excel(name = "申请时间")
    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyDate;

    /** 申请状态 */
    @Excel(name = "申请状态")
    @ApiModelProperty("申请状态")
    private Integer applyStatus;

    /** 审核人id */
    @Excel(name = "审核人id")
    @ApiModelProperty("审核人id")
    private Long auditorId;

    /** 审核人 */
    @Excel(name = "审核人")
    @ApiModelProperty("审核人")
    private String auditorName;

    /** 审核时间 */
    @Excel(name = "审核时间")
    @ApiModelProperty("审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核状态 */
    @Excel(name = "审核状态")
    @ApiModelProperty("审核状态")
    private Integer auditStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    @ApiModelProperty("审核意见")
    private String auditorComments;

    /** 销售合同明细信息 */
    @ApiModelProperty("销售合同明细信息")
    private List<ScmSaleContractItem> scmSaleContractItemList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getCustomName() {
        return customName;
    }

    public void setCustomName(String customName) {
        this.customName = customName;
    }

    public String getLinkman() {
        return linkman;
    }

    public void setLinkman(String linkman) {
        this.linkman = linkman;
    }

    public String getLinkmanPhoneNumber() {
        return linkmanPhoneNumber;
    }

    public void setLinkmanPhoneNumber(String linkmanPhoneNumber) {
        this.linkmanPhoneNumber = linkmanPhoneNumber;
    }

    public Long getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Long totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public Integer getShipping() {
        return shipping;
    }

    public void setShipping(Integer shipping) {
        this.shipping = shipping;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Date getSigningDate() {
        return signingDate;
    }

    public void setSigningDate(Date signingDate) {
        this.signingDate = signingDate;
    }

    public Long getApplyId() {
        return applyId;
    }

    public void setApplyId(Long applyId) {
        this.applyId = applyId;
    }

    public String getApplyName() {
        return applyName;
    }

    public void setApplyName(String applyName) {
        this.applyName = applyName;
    }

    public Date getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }

    public Integer getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(Integer applyStatus) {
        this.applyStatus = applyStatus;
    }

    public Long getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(Long auditorId) {
        this.auditorId = auditorId;
    }

    public String getAuditorName() {
        return auditorName;
    }

    public void setAuditorName(String auditorName) {
        this.auditorName = auditorName;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getAuditorComments() {
        return auditorComments;
    }

    public void setAuditorComments(String auditorComments) {
        this.auditorComments = auditorComments;
    }

    public List<ScmSaleContractItem> getScmSaleContractItemList() {
        return scmSaleContractItemList;
    }

    public void setScmSaleContractItemList(List<ScmSaleContractItem> scmSaleContractItemList) {
        this.scmSaleContractItemList = scmSaleContractItemList;
    }

    public Long getCustomId() {
        return customId;
    }

    public void setCustomId(Long customId) {
        this.customId = customId;
    }

    public Long getSalesManId() {
        return salesManId;
    }

    public void setSalesManId(Long salesManId) {
        this.salesManId = salesManId;
    }

    public String getSalesMan() {
        return salesMan;
    }

    public void setSalesMan(String salesMan) {
        this.salesMan = salesMan;
    }

    @Override
    public String toString() {
        return "ScmSaleContract{" +
                "id=" + id +
                ", contractNumber='" + contractNumber + '\'' +
                ", orderId=" + orderId +
                ", orderNo='" + orderNo + '\'' +
                ", customId=" + customId +
                ", customName='" + customName + '\'' +
                ", salesManId=" + salesManId +
                ", salesMan='" + salesMan + '\'' +
                ", linkman='" + linkman + '\'' +
                ", linkmanPhoneNumber='" + linkmanPhoneNumber + '\'' +
                ", totalAmount=" + totalAmount +
                ", deliveryDate=" + deliveryDate +
                ", shipping=" + shipping +
                ", address='" + address + '\'' +
                ", signingDate=" + signingDate +
                ", applyId=" + applyId +
                ", applyName='" + applyName + '\'' +
                ", applyDate=" + applyDate +
                ", applyStatus=" + applyStatus +
                ", auditorId=" + auditorId +
                ", auditorName='" + auditorName + '\'' +
                ", auditTime=" + auditTime +
                ", auditStatus=" + auditStatus +
                ", auditorComments='" + auditorComments + '\'' +
                ", scmSaleContractItemList=" + scmSaleContractItemList +
                '}';
    }
}
